Increasingly data is being represented in a platform-independent format that it is devoid of presentation specific and environmental specific limitations. The most popular data format for this data encoding is Extensible Markup Language (XML).
With XML the content of a document is divorced from its presentation specifics. Any desired presentation formatting is applied by a recipient of the XML document using an Extensible Style Sheet's Language (XSL) template and/or the recipient processing an Extensible Style Sheet Transformation (XSLT) application.
To effectively use an XML document, a recipient's XML parser breaks the received XML document into its hierarchical components into memory as a tree structure. This internal tree structure is often referred to as a Document Object Model (DOM). Once an XML document is in a DOM format within memory, the recipient applies any XSL templates and/or XSLT applications to render the content of the document into a specific presentation within the recipient's environment.
One problem associated with this process is that the initial parsing to acquire the DOM for the XML content can be processor and memory intensive on the recipient's device. That is, the XML parser is not very efficient in processing the XML text (XML content) into the tree structure associated with the DOM representation.
Another problem is that any desired processing to enforce policy or perform authentication is typically not capable of being represented in the XML document; rather, each recipient uses its own XSLT application to apply policy or to perform authentication against or for the XML content.
Thus, what is needed is a mechanism that allows for more efficient and flexible XML document representations and XML content processing.